Much literature has already been assembled on the subject of comma-free codes and synchronizable codes. In the context of the following the term "word" will refer to any sequential ordering of characters which have been defined such that this ordering has significance in representing information content. It is possible that a word so defined will in the process of an encoding scheme be associated with characters taken from some further system of represention or character set. Thus the terms "character" and "word" or "code" and "code word", depending on the context, may be interchangeable without introducing any ambiguity.
A finite code is called synchronizable if and only if there exists a least integer m such that the knowledge of the last m characters of a message suffices to determine separation of code words.
The concept of comma-free codes was first introduced by Golomb et al ("Comma-free codes Can. J. of Math, Vol. 10 pp 202-209, 1958) although Scholtz later suggested ("Mechanization of codes with bounded synchronization delays", IEEE T-IT Vol. IT-16, pp 438-446 July 1970) that the term "comma-free" may be interpreted to include any codes which can be used without resorting to the use of commas (i.e. a special symbol or signal to mark character separation). It is this definition I have chosen to use, for while the codes introduced here do not comply with the definition provided by Golomb in 1958, they may in fact be used without resorting to the use of commas in accordance to Scholtz's interpretation.
The term bounded synchronization delay (BSD) code describes any code for which any segment of a sequence of code words can be synchronized after observing at most s code symbols for some finite value of s.